import pygame
import sys

class klose():
    '''流年似水,K神无双'''

    def __init__(self,bg):
        """初始化图像并设置初始位置"""

        #得到窗口背景的属性，方便确定图像位置
        self.screen=bg.screen#返回窗口背景本体
        self.screen_rect=bg.screen.get_rect()#返回窗口背景的外接矩形

        #加载人物图像并获取其外接矩形
        self.image=pygame.image.load("D:\\GITEE\\study_code\\Python\\2022-12-15\\image\\克洛泽.bmp")#获取图像本体，返回给image属性
        self.rect=self.image.get_rect()#获取图像的外接矩形，返回给rect属性

        #将图像加载至背景窗口的中央
        self.rect.center=self.screen_rect.center#将背景窗口外接矩形的中央坐标，返回给图像外接矩形的中央坐标
                                                #即，此时图像外接矩形中央坐标的值为：以背景窗口外接矩形为参考系的中央坐标
    
    def blitme(self):
        '''在指定位置绘制图像'''
        self.screen.blit(self.image,self.rect)#根据self.rect,在背景窗口绘制出图像

class background():
    '''背景窗口'''

    def __init__(self):
        '''初始化窗口，并创建窗口资源'''
        pygame.init()#开始初始化窗口
        self.screen=pygame.display.set_mode((800,800))#设置窗口大小，并将该大小的窗口作为surface返回给screen
        pygame.display.set_caption('流年似水,K神无双')#设置窗口标题
        
        self.klose=klose(self)#将图像本体放入窗口背景类中

    def display_figure(self):
        '''展示人物'''
        while True:

            #设置关闭窗口操作
            for event in pygame.event.get():
                if event.type==pygame.QUIT:#若鼠标点击到窗口右上角的x，则窗口关闭
                    sys.exit()

            #将人物图像绘制到窗口背景上
            self.screen.fill((230,230,230))#绘制一个背景色为浅灰色的新窗口
            self.klose.blitme()#将人物绘制在新窗口处

            pygame.display.flip()#将新窗口完美覆盖原来的窗口


if __name__=='__main__':
    #创建窗口实例，并展示窗口
    image=background()
    image.display_figure()   
